package com.ruoyi.system.domain;

import java.time.LocalDate;
import java.time.LocalTime;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * zz对象 hys_yuyue
 *
 * @author ruoyi
 * @date 2025-09-25
 */
public class HysYuyue extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * $column.columnComment
     */
    private Long id;

    /**
     * 会议室id
     */
    @Excel(name = "会议室id")
    private Long pid;

    /**
     * 会议标题
     */
    @Excel(name = "会议标题")
    private String meetingtitle;

    /**
     * 参数人员范围
     */
    @Excel(name = "参数人员范围")
    private String content;

    /**
     * 召集人
     */
    @Excel(name = "召集人")
    private long convener;


    /**
     * 预约人
     */
    @Excel(name = "预约人")
    private Integer reservedby;

    /**
     * 科室
     */
    @Excel(name = "科室")
    private Integer department;



    /**
     * 会议日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "会议日期", width = 30, dateFormat = "yyyy-MM-dd")
    private LocalDate thedate;

    /**
     * 搜索会议日期开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "搜索会议日期开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private LocalDate startdate;

    /**
     * 搜索会议日期结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "搜索会议日期结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private LocalDate enddate;

    /**
     * 开始时间
     */
    @Excel(name = "开始时间")
    private LocalTime startTime;

    /**
     * 结束时间
     */
    @Excel(name = "结束时间")
    private LocalTime endTime;

    /**
     * 会议保障
     */
    @Excel(name = "会议保障")
    private Integer ensure;

    /**
     * 是否选择分局
     */
    @Excel(name = "是否选择分局")
    private Integer need_branch_office;

    /**
     * 选择分局
     */
    @Excel(name = "选择分局")
    private String selected_branches;

    /**
     * 状态：1：审批中，2：通过，3：拒绝
     */
    @Excel(name = "状态：1：审批中，2：通过，3：拒绝,4:取消")
    private String state;

    @Excel(name = "拒绝原因")
    private String yuanyin;

    public void setId(Long id) {
        this.id = id;
    }

    public String getMeetingtitle() {
        return meetingtitle;
    }

    public void setMeetingtitle(String meetingtitle) {
        this.meetingtitle = meetingtitle;
    }



    public Integer getReservedby() {
        return reservedby;
    }

    public void setReservedby(Integer reservedby) {
        this.reservedby = reservedby;
    }

    public Integer getDepartment() {
        return department;
    }

    public void setDepartment(Integer department) {
        this.department = department;
    }

    public Long getId() {
        return id;
    }

    public void setPid(Long pid) {
        this.pid = pid;
    }

    public Long getPid() {
        return pid;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getContent() {
        return content;
    }

    public void setConvener(long convener) {
        this.convener = convener;
    }

    public long getConvener() {
        return convener;
    }

    public LocalDate getThedate() {
        return thedate;
    }

     /**
      * 是否选择分局
      */
    public Integer getNeed_branch_office() {
        return need_branch_office;
    }

    public void setNeed_branch_office(Integer need_branch_office) {
        this.need_branch_office = need_branch_office;
    }

    /**
     * 选择分局id
     */
    public String getSelected_branches() {
        return selected_branches;
    }

    public void setSelected_branches(String selected_branches) {
        this.selected_branches = selected_branches;
    }

    public void setThedate(LocalDate thedate) {
        this.thedate = thedate;
    }

    public LocalDate getStartdate() {
        return startdate;
    }

    public void setStartdate(LocalDate startdate) {
        this.startdate = startdate;
    }

    public LocalDate getEnddate() {
        return enddate;
    }

    public void setEnddate(LocalDate enddate) {
        this.enddate = enddate;
    }

    public LocalTime getStartTime() {
        return startTime;
    }

    public void setStartTime(LocalTime startTime) {
        this.startTime = startTime;
    }

    public LocalTime getEndTime() {
        return endTime;
    }

    public void setEndTime(LocalTime endTime) {
        this.endTime = endTime;
    }

    public void setEnsure(Integer ensure) {
        this.ensure = ensure;
    }

    public Integer getEnsure() {
        return ensure;
    }

    public void setState(String state) {
        this.state = state;
    }

    public String getState() {
        return state;
    }

    public void setYuanyin(String yuanyin) {
        this.yuanyin = yuanyin;
    }

    public String getYuanyin() {
        return yuanyin;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("meetingtitle", getMeetingtitle())
                .append("pid", getPid())
                .append("content", getContent())
                .append("convener", getConvener())
                .append("reservedby", getReservedby())
                .append("department", getDepartment())
                .append("thedate", getThedate())
                .append("startdate", getStartdate())
                .append("enddate", getEnddate())
                .append("startTime", getStartTime())
                .append("endTime", getEndTime())
                .append("ensure", getEnsure())
                .append("state", getState())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("yuanyin", getYuanyin())
                .append("remark", getRemark())
                .toString();
    }
}
